package com.tuniu.agents.command;

import java.util.List;
import java.util.Map;

/**
 * Command storage interface
 * Used for storing and retrieving command configurations
 */
public interface CommandStorage {

    /**
     * Save command configuration
     *
     * @param config Command configuration
     */
    void saveCommandConfig(String conversationId, CommandConfig config);

    /**
     * Save multiple command configurations
     *
     * @param configs List of command configurations
     */
    void saveCommandConfigs(String conversationId, List<CommandConfig> configs);

    /**
     * Get command configuration
     *
     * @param id Command ID
     * @return Command configuration
     */
    CommandConfig getCommandConfig(String conversationId, String id);

    /**
     * Get all command configurations
     *
     * @return Map of command configurations
     */
    Map<String, CommandConfig> getAllCommandConfigs(String conversationId);

    /**
     * Delete command configuration
     *
     * @param id Command ID
     */
    void deleteCommandConfig(String conversationId, String id);

    /**
     * Update command configuration
     *
     * @param config Command configuration
     */
    void updateCommandConfig(String conversationId, CommandConfig config);
} 